'''
pizza模块，实现所有的pizza产品
维度：
1、pizza的种类：胡椒、起司等。
2、pizza的产地：北京、伦敦等。
更多......
'''
from abc import abstractmethod


class Pizza(object):
    '''pizza基类'''
    pizza_name = ''  # pizza名称
    public_material = '面粉、水'

    @abstractmethod
    def parpare(self):
        '''
        pizza所需原材料
        '''
        pass

    def bake(self):
        '''
        烘焙操作：时长、温度等
        '''
        print("===>> %s 烘焙" % self.pizza_name)

    def pack(self):
        '''
        打包：盒装、袋装等
        '''
        print("===>> %s 打包" % self.pizza_name)


class BJCheesePizza(Pizza):
    '''北京起司披萨'''
    pizza_name = __doc__

    def parpare(self):
        print('=====>> 起司、%s' % self.public_material)

    
class BJPepperPizza(Pizza):
    '''北京胡椒披萨'''
    pizza_name = __doc__

    def parpare(self):
        print('=====>> 胡椒、芝麻、%s' % self.public_material)


class LDCheesePizza(Pizza):
    '''伦敦起司披萨'''
    pizza_name = __doc__

    def parpare(self):
        print('=====>> 起司、%s' % self.public_material)

    
class LDPepperPizza(Pizza):
    '''伦敦胡椒披萨'''
    pizza_name = __doc__

    def parpare(self):
        print('=====>> 胡椒、芝麻、%s' % self.public_material)     